/**
 * AI文本生成API接口 (基于ai_text模块)
 * 只对接后端已实现的真实接口
 * 通过api.js拦截器统一管理请求
 */
import api from '@/utils/api'

export const textApi = {
  // 文本生成 - 对应后端 POST /api/text/generate/
  generate: {
    // 创建文本生成任务
    create: (generationData) => {
      console.log('调用文本生成API，参数:', generationData)
      return api.post('/text/generate/', generationData)
    },
  },

  // 文本记录管理 - 对应后端已实现的接口
  records: {
    // 获取文本记录列表 - 对应后端 GET /api/text/records/
    getList: (params = {}) => {
      console.log('调用获取文本记录列表API，参数:', params)
      return api.get('/text/records/', { params: params })
    },
    
    // 获取文本记录详情 - 对应后端 GET /api/text/records/{id}/
    getDetail: (recordId) => {
      console.log('调用获取文本记录详情API，ID:', recordId)
      return api.get(`/text/records/${recordId}/`)
    },
    
    // 切换收藏状态 - 对应后端 POST /api/text/records/{id}/favorite/
    toggleFavorite: (recordId) => {
      console.log('调用切换收藏状态API，ID:', recordId)
      return api.post(`/text/records/${recordId}/favorite/`)
    },
    
    // 删除文本记录 - 对应后端 POST /api/text/records/{id}/delete/
    delete: (recordId) => {
      console.log('调用删除文本记录API，ID:', recordId)
      return api.post(`/text/records/${recordId}/delete/`)
    },
  },
  
  // 新增API接口
  // 获取模块对应的子类型列表 - 对应后端 GET /api/text/content-types/
  getContentTypes: (module) => {
    console.log('调用获取内容类型列表API，模块:', module)
    // 确保参数正确传递
    return api.get('/text/content-types/', { params: { module: module } })
  },
  
  // 获取内容类型的提示词模板 - 对应后端 GET /api/text/prompt-template/
  getPromptTemplate: (contentType, languageStyle = 'casual') => {
    console.log('调用获取提示词模板API，内容类型:', contentType, '语言风格:', languageStyle)
    // 确保参数正确传递
    return api.get('/text/prompt-template/', { params: { content_type: contentType, language_style: languageStyle } })
  },
}

/**
 * 便捷调用方法 - 直接导出各模块
 */
export const {
  generate,
  records,
  getContentTypes,
  getPromptTemplate
} = textApi

/**
 * 使用示例：
 * 
 * // 生成文本
 * import { generate } from '@/api/text'
 * const result = await generate.create({
 *   module: "creative",
 *   content_type: "story",
 *   prompt: "写一个关于未来世界的故事",
 *   generation_params: {
 *     max_tokens: 1000,
 *     temperature: 0.7
 *   }
 * })
 * 
 * // 获取文本记录列表
 * import { records } from '@/api/text'
 * const recordList = await records.getList()
 * 
 * // 获取文本记录详情
 * const recordDetail = await records.getDetail(123)
 * 
 * // 切换收藏状态
 * await records.toggleFavorite(123)
 * 
 * // 删除文本记录
 * await records.delete(123)
 * 
 * // 获取模块对应的子类型列表
 * import { getContentTypes } from '@/api/text'
 * const contentTypes = await getContentTypes('creative')
 * 
 * // 获取内容类型的提示词模板
 * import { getPromptTemplate } from '@/api/text'
 * const template = await getPromptTemplate('story')
 */

export default textApi